<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 箭头函数的注意点:
            //1) 箭头函数this指向声明时所在作用域下 this 的值
            // 2) 箭头函数不能作为构造函数实例化
            // 3) 箭头函数内没有arguments
            // 4) 如果形参只有一个，则小括号可以省略
            // 5) 函数体如果只有一条语句，则花括号可以省略，函数的返回值中的return可以省略。


        // 定义构造函数
        // 注意下面的构造函数是不可以改成箭头函数
        const Stu = function(name,age){
            this.name = name;
            this.age = age;
        }
        // 实例化对象
        const s = new Stu("zhangsan",20);
        console.log(s);

        //2. 箭头函数内没有arguments
        //const demo = () => {
        const demo = function(){
            console.log(arguments);
        }
        demo(10,20,30);


        // 总结：箭头函数非常适合设置与this无关的回调，
        //  比如数组回调、定时器回调，不适合事件回调与对象方法
    </script>
</body>
</html>